import unittest
import time
import os
from lib import HTMLTestRunnerPlugins

# 确定用例文件路径和报告存放路径
base_path = os.path.dirname(__file__)  # 项目路径,__file__固定写法
case_path = os.path.join(base_path, "case")  # 用例所在文件夹路径
report_path = os.path.join(base_path, "report")  # 报告所在文件夹路径
# now_time = datetime.now()
now_time = time.strftime("%Y-%m-%d %H-%M-%S")  # 格式化当前时间

report_name = now_time + "ECShopReport.html"  # 测试报告名称，不能包含 :/\*?"<>|

# 测试报告文件路径
report_file_path = os.path.join(report_path, report_name)

# 生成测试套件
suite = unittest.defaultTestLoader.discover(case_path)

# 执行测试用例，并生成测试报告
# with open:和open一致，拥有自动关闭
# as fp:as 别名，fp代表前面打开的文件
with open(report_file_path, "wb") as fp:
    runner = HTMLTestRunnerPlugins.HTMLTestRunner(
        stream=fp,  # 报告文件
        title="xxx项目测试报告",  # 报告标题
        description="xx模块、xx模块web页面自动化测试",  # 报告描述
        tester="郑煬煜",  # 测试人员
    )
    runner.run(suite)